

package com.zdkj.subway.rca.entity;

import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.baomidou.mybatisplus.extension.activerecord.Model;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;

import java.math.BigDecimal;
import java.time.LocalDate;
import java.time.LocalDateTime;

/**
 * 系统清分数据对比
 *
 * @author cooze
 * @date 2020-10-31 21:40:25
 */
@Data
@TableName("sw_ck_clear_system_compare")
@EqualsAndHashCode(callSuper = true)
@ApiModel(value = "系统清分数据对比")
public class SwCkClearSystemCompare extends Model<SwCkClearSystemCompare> {
    private static final long serialVersionUID = 1L;

    /**
     * 唯一标识
     */
    @TableId
    @ApiModelProperty(value = "唯一标识")
    private Integer id;
    /**
     * 线路编码
     */
    @ApiModelProperty(value = "线路编码")
    private String lineCode;
    @ApiModelProperty(value = "线路编码", hidden = true)
    @TableField(exist = false)
    private String lineCodeName;
    /**
     * 日期 yyyy-MM-dd
     */
    @ApiModelProperty(value = "日期 yyyy-MM-dd")
    private LocalDate tradeDate;
    /**
     * 单程票清分(分) 初始
     */
    @ApiModelProperty(value = "单程票清分(分) 初始")
    private BigDecimal oneWayTickets;
    /**
     * 单程票清分(分) 导入（对比）
     */
    @ApiModelProperty(value = "单程票清分(分) 导入（对比）")
    private BigDecimal compareOneWayTickets;
    /**
     * 单程票清分(分) 差异（初始-导入）
     */
    @ApiModelProperty(value = "单程票清分(分) 差异（初始-导入）")
    private BigDecimal diffOneWayTickets;
    /**
     * 二维码电子票合计金额(分) 初始
     */
    @ApiModelProperty(value = "二维码电子票合计金额(分) 初始")
    private BigDecimal qrCodeTicketAmount;
    /**
     * 二维码电子票合计金额(分) 导入（对比）
     */
    @ApiModelProperty(value = "二维码电子票合计金额(分) 导入（对比）")
    private BigDecimal compareQrCodeTicketAmount;
    /**
     * 二维码电子票合计金额(分) 差异（初始-导入）
     */
    @ApiModelProperty(value = "二维码电子票合计金额(分) 差异（初始-导入）")
    private BigDecimal diffQrCodeTicketAmount;
    /**
     * 交通一卡通合计金额(分) 初始
     */
    @ApiModelProperty(value = "交通一卡通合计金额(分) 初始")
    private BigDecimal trafficCardAmount;
    /**
     * 交通一卡通合计金额(分) 导入（对比）
     */
    @ApiModelProperty(value = "交通一卡通合计金额(分) 导入（对比）")
    private BigDecimal compareTrafficCardAmount;
    /**
     * 交通一卡通合计金额(分) 差异（初始-导入）
     */
    @ApiModelProperty(value = "交通一卡通合计金额(分) 差异（初始-导入）")
    private BigDecimal diffTrafficCardAmount;
    /**
     * 长安通合计金额(分) 初始
     */
    @ApiModelProperty(value = "长安通合计金额(分) 初始")
    private BigDecimal changanTongCashAmount;
    /**
     * 长安通合计金额(分) 导入（对比）
     */
    @ApiModelProperty(value = "长安通合计金额(分) 导入（对比）")
    private BigDecimal compareChanganTongCashAmount;
    /**
     * 长安通合计金额(分) 差异（初始-导入）
     */
    @ApiModelProperty(value = "长安通合计金额(分) 差异（初始-导入）")
    private BigDecimal diffChanganTongCashAmount;
    /**
     * 人脸电子票合计金额(分) 初始
     */
    @ApiModelProperty(value = "人脸电子票合计金额(分) 初始")
    private BigDecimal faceTicketAmount;
    /**
     * 人脸电子票合计金额(分) 导入（对比）
     */
    @ApiModelProperty(value = "人脸电子票合计金额(分) 导入（对比）")
    private BigDecimal compareFaceTicketAmount;
    /**
     * 人脸电子票合计金额(分) 导入（对比）、差异（初始-导入）
     */
    @ApiModelProperty(value = "人脸电子票合计金额(分) 导入（对比）、差异（初始-导入）")
    private BigDecimal diffFaceTicketAmount;
    /**
     * 合计金额(分) 初始
     */
    @ApiModelProperty(value = "合计金额(分) 初始")
    private BigDecimal sumTotal;
    /**
     * 合计金额(分) 导入（对比）
     */
    @ApiModelProperty(value = "合计金额(分) 导入（对比）")
    private BigDecimal compareSumTotal;
    /**
     * 合计金额(分) 差异（初始-导入）
     */
    @ApiModelProperty(value = "合计金额(分) 差异（初始-导入）")
    private BigDecimal diffSumTotal;
    /**
     * 确认状态 默认0未确认、0为确认、1已确认
     */
    @ApiModelProperty(value = "确认状态 默认0未确认、0未确认、1已确认")
    private String confirmStatus;
    @ApiModelProperty(value = "确认状态 默认0未确认、0未确认、1已确认", hidden = true)
    @TableField(exist = false)
    private String confirmStatusName;
    /**
     * 通知状态 1：已通知、0：未通知
     */
    @ApiModelProperty(value = "通知状态 1：已通知、0：未通知")
    private String noticeStatus;
    @ApiModelProperty(value = "通知状态 1：已通知、0：未通知", hidden = true)
    @TableField(exist = false)
    private String noticeStatusName;
    /**
     * 通知时间
     */
    @ApiModelProperty(value = "通知时间")
    private LocalDateTime noticeTime;
    /**
     * 创建人
     */
    @ApiModelProperty(value = "创建人")
    private Integer creatorId;
    /**
     * 创建人名称
     */
    @ApiModelProperty(value = "创建人名称")
    private String creatorName;
    /**
     * 创建时间
     */
    @ApiModelProperty(value = "创建时间")
    private LocalDateTime createTime;

    /**
     * 差异原因
     */
    @ApiModelProperty(value = "差异原因")
    @TableField(exist = false)
    private String diffReason;

    public String getConfirmStatusName() {
        return (org.apache.commons.lang3.StringUtils.equals(confirmStatus, "1") ? "已确认" : "未确认");
    }

    public String getNoticeStatusName() {
        return (org.apache.commons.lang3.StringUtils.equals(confirmStatus, "1") ? "已通知" : "未通知");
    }
}
